import axios from "axios"
import { getToken ,setGoUrl} from './tokenData'
import { Dialog } from 'vant'
import router from "../router/index"
//个人中心
axios.defaults.baseURL = 'http://127.0.0.1:3000'
//在线服务器 新闻数据更多
// axios.defaults.baseURL = 'http://157.122.54.189:9083'
//添加请求拦截器 - axios发送请求前自动执行的一个函数
//  request 请求
axios.interceptors.request.use(
  // config 就是请求时的配置
  (config) => {
    // 在发送请求之前做些什么
    // 获取本地存储的 token
    const token = getToken()
    // 如果有 token 就添加到请求头中
    if (token) {
      config.headers.Authorization = token
    }
    // console.log('axios请求发送前，调用了这个函数', config)
    // 返回修改后的配置
    return config
  },
  (error) => {
    // 对请求错误做些什么，表示失败把 error 传递给 catch()
    return Promise.reject(error)
  },
)
// 添加响应拦截器

axios.interceptors.response.use(
    (response) => {
      if (response.data.message === '用户信息验证失败') {
        Dialog.confirm({
          title: '未登录',
          message: '需要登录后再操作',
          confirmButtonText: '去登录',
          cancelButtonText: '残忍拒绝',
        })
          .then(() => {
            const Url = location.href
            // console.log(Url);
            setGoUrl(Url)
            router.push(
             { path: '/login', }
            )
          })
          .catch(() => {
            // on cancel
          })
      }
      // 返回的数据
      return response
    },
    (error) => Promise.reject(error),
  )

export default axios
